import {
  allEqual,
  arrayMax,
  arrayMin,
  arrayToCSV, ascendingLengthArray,
  average,
  averageObj,
  compact, comparedIntersectionWith,
  countOccurrences,
  deepFlatten,
  difference,
  dropWhile,
  indexOfAll,
  intersection,
  intersectionWith,
  isMultiArray, randomIntArrayInRange, randomItem, sampleSize, shuffle,
  sortArr,
  toEqually,
  unique,
  uniqueArrayObj
} from "./utils/array";
import {detectDeviceType} from "./utils/auxiliary";
import {browserUrl} from "./utils/browser";
import {checkType} from "./utils/check";
import {attempt, beginningThrottle, debounce, defer, firstAndEndOfThrottle, terminalThrottle} from "./utils/func";
import {hexToHex, numberFloat, numberInt, toDecimals, toHexadecimal} from "./utils/num";
import {objKey, objVal, objValue} from "./utils/obj";
import {getIPInfo} from "./utils/publicApi";
import {getCaption, reverseString} from "./utils/string";
import {getAge, getTimestampToAge, timestampToTime, timeToTimestamp, toDetailTime} from "./utils/timeConversion";

export default {
  toEqually,
  unique,
  uniqueArrayObj,
  sortArr,
  allEqual,
  isMultiArray,
  arrayToCSV,
  average,
  arrayMax,
  arrayMin,
  averageObj,
  compact,
  countOccurrences,
  deepFlatten,
  difference,
  dropWhile,
  indexOfAll,
  intersection,
  intersectionWith,
  comparedIntersectionWith,
  ascendingLengthArray,
  randomIntArrayInRange,
  randomItem,
  sampleSize,
  shuffle,
  detectDeviceType,
  browserUrl,
  checkType,
  attempt,
  debounce,
  beginningThrottle,
  terminalThrottle,
  firstAndEndOfThrottle,
  defer,
  numberInt,
  numberFloat,
  toDecimals,
  toHexadecimal,
  hexToHex,
  objKey,
  objValue,
  objVal,
  getIPInfo,
  getCaption,
  reverseString,
  timeToTimestamp,
  timestampToTime,
  toDetailTime,
  getTimestampToAge,
  getAge
}





